|
This Article Is Taken From The Game Programming MegaSite, A Definitive Resource For Game Developers! |
Visit Lupine Games!
All software has bugs.
This just can't be denied. After a certain point of complexity, which is not all-that complex, it is virtually impossible to create bug-free software. Using proper software engineering methods helps in this, but there are so many different combinations of things that can be done in most software that even extensive testing cannot eliminate all the bugs and the product has to ship.
On top of the fact that all software will have bugs, there is the factor of the cost of development and testing. After a certain point a piece of software will stop gaining any momentum and testing and small fixes will take all of the staff's time. However, the more time that is spent doing this, the more expensive the process becomes.
While thorough testing is definitely a necessity, testing to the point of absolute assurance that there are close to no bugs would often escalate a budget through the roof. You would end up with the video game equivalent of Kevin Costner's Water World with every video game, and most likely would end up with Water World's financial results as well. (For those not aware of this, Water World is a movie that cost several hundred million dollars to make and was a box office flop.)
Professional programs that have been around for years, such as Autocad 13 and 3D Studio MAX still have MANY bugs in them which can cause the software to crash regularly if you are working in an area where there is a bug. These programs are considered to be among the best of what the professional modeling software world has to offer, so it goes to show you that even with substantial testing over a long period of time, software will still have bugs in it.
I am not defending the right for games to have bugs and I am definitely against games being published when they are to the point where you cannot play them because of bugs. These type of bugs can be referred to a critical bugs. Critical bugs are not to be expected. Anything that destroys data on your computer, keeps you from playing the game, or regularly/often crashes all computers that try to play is have critical bugs and there is very little excuse for letting any of these through.
Non-critical bugs consist of things like hardware compatibility, small glitches in the game and extremely rare combinations.
Hardware compatibility is one of the most difficult problems to overcome, which is why the majority of bugs in games are caused by hardware compatibility. To an extent, game developers should own a variety of different machines and hardware to test their game on. But there are literally thousands of combinations, merely testing them all would cost tremendous amounts of money which would not only have to be passed on to the gamer but would take away from other development money. Not the mention the cost of the hardware themselves, as they would probably not be able to get all of it on loan/trial from different manufacturers. As a gamer, you just have to accept the fact that you may have hardware that the game company was unable to test for, and you may have to get a patch to the game after you purchase it.
Small glitches in the game and extremely rare combinations are also incredibly hard to test all cases. Small things may easily go unnoticed even after thousands of man hours of testing, because games today have quite a lot going on. Rare combinations are equally or harder to find often as games are also increasing in size, so the ability to actually go everywhere and do everything is becoming almost impossible, simply because the size and diversity of different actions and game combinations. Expect there to be some minor glitches and problems when you do a rare combination or moves or put the game in a state which is normally hard to test (ie. Doing something totally unplanned for by the game developer).
For more information on this check out http://www.bugnet.com/ which has tons information on bug fixes and bugs in software in general. If you think only games are bad this will be an interesting place for you to visit. They also in the past have given out awards for bug-free software, but decided NOT to give out one to anyone this year, I think that speaks volumes about the way software is going in general. It may not be good, but it's also not isolated to games, so keep that in mind.
[NOTE: Lupine Games has a strict policy on testing on as many systems and configuration types as possible and testing our games to the fullest of our ability. I am in no way saying that you should expect buggy software from us as we strive to make it as hassle free and fun filled as possible. Furthermore, I want to make a final note clarifying that you should not expect critical bugs (or show stoppers) in your games, but that small, rare hard to test "glitch" type bugs will simply be impossible to test in all circumstances, although the way this should work is that you will just normally never see them, because they are rare.]
Game software differs from other software in several respects which are very important to take into consideration.
Game software is almost always totally new, so each time it is created you will see a totally new set of problems. Other software usually is identical to the last version, with fixes, additions and updates placed on top of it. This usually lends to more stable and progressive builds of the products. The "sequel" of a word processor can most often fix a lot of the first versions bugs because the program is doing the same thing, and is essentially the same program. Any features added to the program are almost always on top of the old features instead of replacing them.
Game software on the other hand is almost always totally rewritten. While games may use "engines" to make development time faster, as some things stay consistent, these engines still need to be upgraded to keep up with the latest technology. This means that the engine code still has to be rewritten and this introduces completely new bugs again. Instead of having a solid base of code from the first game, and then being able to fix whatever bugs were in the first version and add new features to the second version, a game must rewrite everything or else it will not perform fast enough, use little enough memory to run well or keep up with the competing new games.
Games also function on more levels than application programs do. This is seen most easily by looking at what interface types or hardware a game must support, as opposed to a regular application. Games must have full screen or high resolution graphics capable of many frames per second of updating; applications do not need to update the screen quickly and normally do not need any more interface graphics than Windows provides as a default. Games must have soundtracks and multiple sounds played at the same time. Applications almost never use sound at all, Windows takes care of the beeps and buzzing noises associated with working in Windows, when sounds are needed they almost never need to overlap. Games are almost required to work over networks and specifically the Internet, which is a major problem as it is slow, compensating for the slowness of the Internet by guessing where things will be is extremely difficult to do. Applications almost never deal with anything over the Internet, and when they do, they normally do not care how long the information takes to get there, the user will wait until it has arrived.
There are many other examples of this, but I think this creates a fairly good beginning illustration.
High quality games take an incredibly long time to create. Every game is currently expected to contain all the features of previous games, plus newer features to make it enticing for players. Doing this alone takes an incredible amount of time, even given that what is trying to be built is totally understood. However, doing anything that is unknown, such as trying to create a new type of 3D engine, enemy AI or a new type of gameplay is almost completely unplanable Even if you understand what you want to do from the beginning, what it turns out being in practice often does not function the way you though it would, or it doesn't turn out fun, or it isn't easy for everyone to understand.
Trying to create a perfect balance of fun, ease of use and new technology before the product is actually in place is almost impossible. There are so many factors involved that it is basically a requirement that the game must change in the middle because some things wont work, some things will become more desired, and some things will have to be pushed further because games released during development have advanced the technology, and now the game must keep up or surpass the competition.
A lot of discussion has been spent on games that "needed certain features". This is totally a point of view, and it is a valid point of view to have, but it is not legally binding. Just because you purchase a game and it does not have a multiplayer option, that game is not damaged or incomplete. You may wish it had that feature, you may feel that the game would have been better with it, you may feel dissatisfied that you didn't get to use this feature, but you paid for a game and you received whatever was in the box, on the CD and advertised when you bought it.
If a game advertises that it has a feature, such as supporting a certain graphics card, or supporting modem play, and it turns out that it will not support that card or modem play, then you have a bone to pick with the developer/publisher of the game.
Many people have complained about the game Civilization 2 as not having a multiplayer option, and this became an excuse to pirate (steal) the game when the multiplayer version was released as a separate purchase. Just because you bought the first version, doesn't entitle you to get the second one for free, even if it seems like a minor modification to that game that you wished was in the first version. They didn't tell you that you were buying it, you didn't buy the first version with that option, and it is totally the prerogative of the developer/publisher to release any software, in any form or revisions that they want and charge whatever they want for it. If you feel its unfair, complain to them or don't buy it as a way of showing your disapproval. Stealing it solves nothing and only furthers the gap between yourselves and the developers, which will ultimately end in you receiving lower quality games and a fewer selection as game developers will continue not to make as much money as they hoped on things that are heavily pirated, and therefore, later on they will just choose not to make those things.
Another important thing to consider is that games are made as a whole map of different pieces that fit tightly together. You cannot simply throw in a new feature and still have a balanced game at the last moment. This means that if game X comes out 2 to 3 months before game Y, you can't expect game Y to have a feature included in game X. You just can't add features like that at the last moment without totally destroying the rest of the game, not to mention the time it could take. Furthermore, it's important to keep in mind that one game may have spectacular graphics and anothers may not be as good, but the first game requires a substantially more powerful machine to run, so really you can't compare them equally.
Sequels are not an entirely new game, expect things to be similar. Mission packs are the same game engine, with different levels. Sequels are a different game engine, usually based on the first, with different levels.
When you see a sequel to a movie coming out, you pretty much know what to expect; the movie is going to have the same cast as the first one, with maybe a few more people, the plot is going to be fairly similar to the first one, and the method of communicating the plot is going to follow suit as well.
A good example of this is the Lethal Weapon or Die Hard series. Both of them have similar main characters with a floating supporting cast. Both of them have roughly the same plots: someone related or close to the stars gets kidnapped/in trouble, something gets taken over and there is a hostage situation. When you see these movies you expect more of the same, what amused you before will be redone to seem fresh, and will amuse you again, even though it is basically the same thing.
Games aren't any different in this respect. A sequel to any game is going to have newer/fresher graphics, a new plot along the same lines or a continuation of the first plot adding more background and characters. Very similar type of play with a little more flexibility added and some refinement done to the existing routines.
Complaining about anything else is like complaining you got fried potatoes when you order French fries, you knew you were going to get them, they advertised what it was, why complain as if you expected something different? If you want something different then stay away from sequels.
For years there has been growing commentaries on why games are becoming more and more alike. Why there are so many games in certain genres, the First Person Shooter (FPS) and Real-Time Strategy (RTS) genres most prominently.
The reason for this is simple: the game industry is a democracy, and you vote with your money.
The reason more and more games are becoming alike is because those games are where the majority of purchases are going. Whenever you buy a game, you are sending a message to every game developer and publisher that THIS is the type of game you want to see more of. The more types of those games you buy, the more than will be made.
This becomes a vicious circle as gamers see less and less choice, they turn more to what they know and developers/publishers see less people buying games out of the mainstream, so they make less games out of the mainstream.
Why don't developers do original things anyway? Well, they do. The problem is that almost all of them end up losing money on them because not enough people are buying them, and then they have to stop and try things that seem safer. Many game companies go out of business every year, most of them are the smaller companies which a lot of you may not care about, because you haven't heard of them. However, these are in a way a lifeblood to the games industry. Without smaller developers, the larger developers will try to stay with their "franchise" products. Tomb Raider, Command & Conquer, WhateverCraft are all examples of working game franchises which will be used endlessly as long as people are buying them. They may be good games, they may be fun, but when the 15th sequel is released they will most likely lose their appeal, and a lot of smaller developers have gone by the wayside until then.
Lessons learned in bad sales are remembered for a long time because no one likes to lose money. None of this means you should buy games that you don't like or that aren't good, but if you don't pay attention to the smaller developers and don't even look at titles that aren't in your favorite franchise then you may be inadvertently narrowing your selection of games in the future.
This seems to be the rage for most gamers to get games when they are first released. There is obvious anticipation of the product, sequels have you wanting more of the original which you have played too much. New games offer enticing thrills to be had only moments after a purchase.
However, you are still buying a product, and with software, you are very much buying a product in-progress (see Rule #1 for why software can't be released without bugs). You are likely to hit all the problems that just couldn't be tested and fixed in the developer/publisher offices and then you will have to wait for a patch.
If you cant stomach this, the solution is to wait until you find out what the problems are with the game. Almost every game will have them so bank on it. If a game comes out that has no bugs, you will most likely hear about it very quickly from online reviews and word of mouth.
If you often find yourself disappointed with games you buy because they don't live up to the hype, its a good idea to start waiting to buy the games after you have read reviews on them. Find reviewers who seem to have tastes similar to yours, or are critical in an objective way of the game and can let you see its advantages and weaknesses. Buying anything without knowing what you are getting is foolish, the cliché "Buyer beware" has been around for thousands of years for just that reason.
Buying software when it is first released will always invite problems, beware.
Games will often fix their major bugs within a few weeks of being released and you can either apply patches that are available on their web page or possibly they will have released new versions of the software which are now being sold in stores.
If you consider software too expensive, then remember that software goes down after it has been out for a while. Good software will still be just as fun a month or two after it's released and could easily be $10 to $20 cheaper. This also weeds out a lot of games that were not popular, so you may miss out on something good, but also you will miss out on the flops as well. Reading reviews and playing demos is key in your game selection process.
Forget about the cost estimates you've heard for how much piracy costs the game/software industry. Forget about the fact that it is illegal or a wrong thing to do. After all, how many people really care about things that don't negatively affect them in some way?
So ignoring all the usual facets about other people, how does piracy affect you?
First off, you cant return games to most stores anymore directly because of pirating. SO many people used to buy games, take them home, copy them, bring them back to the store and repeat ad nauseum, until the stores just wouldn't tolerate losing any more money and changed their policy. A lot of people currently do not have software stores in their area that will accept returns, and when they have valid reasons for returning software (such as it was too buggy and kept crashing), they now cant, directly because of piraters abusing a previously normal service retail stores provided.
Some people might say that this is because of developers or publishers, in truth it is NOT. Retail stores maintain the right to send ANY amount of games back to the publishers and they don't have to pay for it. They can send back unopened boxes, they can send back opened boxes, they can send back damaged or crushed boxes, it doesn't matter. Retailers are in complete control over their own return policies with customers, but they ALWAYS have a return policy as far as publishers go, so they never lose.
Piracy hurts game developers and game developers MAKE games. How does this affect you? Well, imagine that instead of games we were talking about farmers. Forget the fact that software can be copied regardless of the materials they come on, or that games are data instead of an object. Just take the examples that you ingest a game similarly to you ingesting food made by a farmer.
The farmer works to create the food, that is their job, and that is their service they provide and are paid for. The game developer creates the games that you play, which is their job and they get paid for. If you steal their game, instead of buying it, then you are not giving them any money for their work. Since we are not concerned with the fact that an object is lost or not lost with this example, then the affect is the same. The farmer or developer does not make as much money as they would have if you paid for the game. How does this affect you? Well, if they cant make enough money and their company folds, or they just see that they aren't getting anywhere in the industry, they will leave for greener pastures where things are more stable.
Contrary to a lot of popular belief, developing games is NOT a privilege and no one is doing them a FAVOR by purchasing the games. They are creating a product, and as such, they deserve to be able to be paid for it, like anyone making any product. If they cant support themselves, then they will leave. This leaves the gamers with less people to make them games, which is what gamers want.
I've often heard people say that if they couldn't make money, then they weren't any good anyway. How many farmers have lost their lands because of flaky weather conditions or bad shipping of the products destroying them, or a negotiation between their purchasers not going through or getting too little for a crop because other farmers have produced more than is in demand? Does this mean these farmers aren't any good at what they do? This same line of thinking can be applied to game developers. If you disrespect them and abuse them by stealing their work you will lose people who could have otherwise made you things you enjoyed.
A final note, that may seem apocalyptic, but it isn't all that far from possibly happening. The PC game market is rather small compared to the console market. Consoles sell on average for 3-5 times more units than PC games, and have a higher hit-to-miss ratio as well. Consoles are harder to pirate, and less people do pirate them, as its not as easy to pass around information on the Internet. It is very likely that you will see more and more development companies leaving the PC market and heading for the consoles with games you might have liked to play because they will make more money on the consoles and have less of a chance of going out of business.
Granted, not all companies will do this, but piracy is a factor here, and this is a possibility. There are already a number of advantages to developing for consoles such as: consoles have standard hardware so you don't have to make 20 different versions of your routines to support all the different configurations users might have, consoles are dedicated for gaming so people who buy them buy more games than computer users, console games sell MUCH more than PC games, consoles last for an average of 4-5 years which gives you a stable platform to work on for an extended period of time as opposed to the ever changing PC API/hardware world.
There is also a misconception that game developers are rich or make a lot of money. You know about John Carmack and his famous Ferraris? There is a reason they are famous, because almost NO ONE ELSE HAS ONE. You don't hear about directors and their famous cars or mansions, because famous film directors do make a LOT of money. Its not absurd for them to live in a multimillion dollar house. Game developers do NOT make that kind of money though. John Carmack and company are very very rare in their earnings. On average game developers make about 30-50% LESS than they would if they had some other programming job.
There are more advantages and there are advantages to the PC as well, but as a gamer, you should take this into consideration if you care about the future of games, and specifically, what YOU will have available to play in a few years time.
If what you look for first, and the reason you buy games is because of their graphics or the hype surrounding them, because they are "cool" games, or because of some character you like or that they had a cool box cover, don't complain because that's ALL you got. You made a purchase based on something and got exactly what you wanted. If you are interested in gameplay you will need to look into the demo, try it out, see what it is like. Read reviews about problems it has, evaluate it for yourself and determine if its what you really want. If it is, go for it and it's fine to comment on things that you wish were better or that had problems.
If you were "duped" into buying something that turns out to be not-what-you-wanted, you quite possibly didn't look into it deep enough or purchased it for the wrong reasons.
Its imperative that criticism be given on games, developers and publishers. Without this feedback those parties would be in the dark about how they are doing. What is destructive is when feedback is given carelessly, over dramatically or about something that could have readily been seen as a problem. The phrase "having your cake and eating it too", isn't about getting everything you want at a particular time, it's about being able to be careless or not working for something, but still getting the rewards as if you were careful and worked for it. Without the effort put into something, you will never receive the desired outcome. That's just how things go, inside and outside the game industry.
The purpose of this article is not to berate gamers for not knowing or believing in the above topics, it is to hopefully educate you on some of the things you couldn't possibly be aware of unless you had looked into it on your own. Being gamers your responsibility is to play games, you don't have to understand how they work, or why. However, some understanding can be essential in creating an environment where gamers and game developers can exist in harmony with each other, instead of on opposite sides of the fence. I think this is crucial as we definitely have a dependent and symbiotic relationship.